dp 小 trick——费用提前计算

假设有这样一个 dp 转移方程:

其中, 是一个常数,函数 也是一个函数(比如 ),dp 的目标是

那么可以改写这个 dp 式为:

目标是 。此时, 表示的是执行前 个任务分成若干批的最小费用,再加上对以后的影响。

假设转移的集合是 ,那么转移 次到 时,不涉及 dp 式的部分对答案的增加量为 。总可以拆成:

也就是:

我们已知终点 。那么每次转移的时候, 显然是已知量:。因此可直接记录下来,加在 上。

例题:任务安排

经典 DP 题,其中就要运用“费用提前计算”的技巧。